<?php

/*
 * Este programa é responsável por:
 *  checar se há alguma licença vencida + o período de tolerância e disparar cobranças
 */
require_once '../admin/config/crud.class.php';
require_once './functions.php';
require_once "./PagSeguroLibrary/PagSeguroLibrary.php";
require_once '../admin/config/conexao.class.php';
$con = new conexao(); // instancia classe de conxao
$con->connect(); // abre conexao com o banco

//busca licenças cuja data de vencimento é menor do que hoje
$consulta_licen = mysql_query("SELECT * FROM vd_licenca where licen_valida_ate < NOW() AND licen_ativa=1 AND licen_valida_ate<>'0000-00-00 00:00:00'");
while ($licenca = mysql_fetch_object($consulta_licen)){
    //pego dados do cliente    
    $consulta = mysql_query("SELECT * FROM ldct_cliente WHERE clie_id =".$licenca->clie_id);
    @$cliente = mysql_fetch_object($consulta);
        if($licenca->licen_qtd_avisos==0){ //se nunca recebeu um aviso de vencimento
            //cria cobrança (transação)
            //$variaveis="cron=1&clie_id=".$licenca->clie_id."&plan_id=".$licenca->plan_id."&licen_id=".$licenca->licen_id;
            
            /*CURL*/
            $ch = curl_init();
            
            curl_setopt($ch, CURLOPT_URL, "http://leadcontrolbgp.com.br/assinar/createPaymentRequest.php");
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            // Faz um POST
            $data = array('cron' => '1', 'clie_id' => $licenca->clie_id, 'plan_id' => $licenca->plan_id, 'licen_id' => $licenca->licen_id);
            curl_setopt($ch, CURLOPT_POST, true);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
            $saida = curl_exec($ch);
            $response_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
            curl_close($ch);
            /*FIM - CURL*/
            if($response_code==200){
                $consulta_trans = mysql_query("SELECT * FROM vd_transacao WHERE clie_id =".$licenca->clie_id." AND plan_id=".$licenca->plan_id." ORDER BY trans_id DESC"); //transação desse cliente mais recente
                @$transacao = mysql_fetch_object($consulta_trans);
                
                //envia link por e-mail
                $msg_html="
                        Prezado cliente, sua licença LeadControl venceu. Você pode renová-la efetuando o pagamento via PagSeguro clicando no link:<a href=\"".$transacao->trans_url."\">".$transacao->trans_url." </a> <br>
                        Obrigado, LeadControl.
                            ";
                sendMail($cliente->clie_email, utf8_decode("Renovação de Licença"), $msg_html);

                //marca 1 aviso
                $crud_licenca = new crud('vd_licenca'); // instancia classe com as operaçoes crud, passando o nome da tabela como parametro
                $crud_licenca->atualizar("licen_qtd_avisos=1", "licen_id=$licenca->licen_id"); //atualiza licença
            }else echo 'Curl error: ' . curl_error($ch);
        }else if($licenca->licen_qtd_avisos==1){//senão se tem aviso = 1
            //pego dados do plano do sujeito
            $consulta_plano = mysql_query("SELECT * FROM vd_plano WHERE plan_id =".$licenca->plan_id);
            $plano = mysql_fetch_object($consulta_plano);
            if($plano->plan_latencia_dias==''):
                $latencia = 5; //se não tiver setado no banco, vai usar o valor padrão de 5 dias
            else:
                $latencia = $plano->plan_latencia_dias;
            endif;
            
            //soma os dias de latência do plano à data de vencimento da licença
            $data_tolerancia = date('Y-m-d H:i:s', strtotime("+".$latencia." days",strtotime($licenca->licen_valida_ate)));
            $now = date("Y-m-d H:i:s");
            $d1 = new DateTime($data_tolerancia);
            $d2 = new DateTime($now);  
            
            //se o resultado for menor do que hoje
            if($d1<$d2){
                //pego o link de cobrança na tabela vd_transacao
                $consulta_trans = mysql_query("SELECT * FROM vd_transacao WHERE trans_id=$licenca->trans_id"); // query que busca todos os dados desta transação
                $transacao = mysql_fetch_object($consulta_trans);
                
                //envia novamente o link de pagamento da transação já criada + mensagem de conta será desativada
                $msg_html="
                    Prezado cliente, sua licença LeadControl venceu e ainda não detectamos sua renovação. Você pode renová-la, evitando a desativação de sua conta, efetuando o pagamento via PagSeguro clicando no link abaixo:
                    <a href=\"".$transacao->trans_url."\">".$transacao->trans_url." </a> <br>
                    Obrigado, LeadControl.
                        ";
                sendMail($cliente->clie_email, utf8_decode("Licença Expirada"), $msg_html);
                
                //marca 2 aviso
                $crud_licenca = new crud('vd_licenca'); // instancia classe com as operaçoes crud, passando o nome da tabela como parametro
                $crud_licenca->atualizar("licen_qtd_avisos=2", "licen_id=$licenca->licen_id"); //atualiza licença
            }
        }else if($licenca->licen_qtd_avisos==2){ //senão se tem aviso = 2    
            //soma os dias de latência do plano à data de vencimento da licença
            //pego dados do plano do sujeito
            $consulta_plano = mysql_query("SELECT * FROM vd_plano WHERE plan_id =".$licenca->plan_id);
            $plano = mysql_fetch_object($consulta_plano);
            if($plano->plan_latencia_dias==''):
                $latencia = 5; //se não tiver setado no banco, vai usar o valor padrão de 5 dias
            else:
                $latencia = $plano->plan_latencia_dias;
            endif;
            
            //soma os dias de latência do plano à data de vencimento da licença
            $data_tolerancia = date('Y-m-d H:i:s', strtotime("+".$latencia." days",strtotime($licenca->licen_valida_ate)));
            $now = date("Y-m-d H:i:s");
            $d1 = new DateTime($data_tolerancia);
            $d2 = new DateTime($now);  
            
            //se o resultado for menor do que hoje
            if($d1<$d2){
                // DESATIVA a licença
                $crud_licenca = new crud('vd_licenca'); // instancia classe com as operaçoes crud, passando o nome da tabela como parametro
                $crud_licenca->atualizar("licen_ativa=0", "licen_id=$licenca->licen_id"); //atualiza licença
                
                // DESATIVA os usuários deste cliente 
                changeStatusUser($licenca->clie_id, 0);
                
            }
                
        }                         
   
}

/*
 * ESTE PHP FAZ ISSO:
 */
        //se tem aviso = 0
            //cria cobrança (transação)
            //envia link por e-mail
            //marca 1 aviso
        //senão se tem aviso = 1
            //soma os dias de latência do plano à data de vencimento da licença
            //se o resultado for menor do que hoje
                //envia novamente o link de pagamento da transação já criada + mensagem de conta será desativada
                //marca 2 aviso
            //
        //senão se tem aviso = 2    
            //soma os dias de latência do plano à data de vencimento da licença
            //se o resultado for menor do que hoje
                // DESATIVA a licença
                // DESATIVA os usuários deste cliente changeStatusUser($licenca->clie_id, 0);
        //                            



?>
